# Makefile - Makefile for building libexo library

# SimpleScalar(TM) Tool Suite
# Topyright (C) 1994-2002 by Todd M. Austin, Ph.D. and SimpleScalar, LLC.
# All Rights Reserved. 
# 
# THIS IS A LEGAL DOCUMENT, BY USING SIMPLESCALAR,
# YOU ARE AGREEING TO THESE TERMS AND CONDITIONS.
# 
# No portion of this work may be used by any commercial entity, or for any
# commercial purpose, without the prior, written permission of SimpleScalar,
# LLC (info@simplescalar.com). Nonprofit and noncommercial use is permitted
# as described below.
# 
# 1. SimpleScalar is provided AS IS, with no warranty of any kind, express
# or implied. The user of the program accepts full responsibility for the
# application of the program and the use of any results.
# 
# 2. Nonprofit and noncommercial use is encouraged. SimpleScalar may be
# downloaded, compiled, executed, copied, and modified solely for nonprofit,
# educational, noncommercial research, and noncommercial scholarship
# purposes provided that this notice in its entirety accompanies all copies.
# Copies of the modified software can be delivered to persons who use it
# solely for nonprofit, educational, noncommercial research, and
# noncommercial scholarship purposes provided that this notice in its
# entirety accompanies all copies.
# 
# 3. ALL COMMERCIAL USE, AND ALL USE BY FOR PROFIT ENTITIES, IS EXPRESSLY
# PROHIBITED WITHOUT A LICENSE FROM SIMPLESCALAR, LLC (info@simplescalar.com).
# 
# 4. No nonprofit user may place any restrictions on the use of this software,
# including as modified by the user, by any other authorized user.
# 
# 5. Noncommercial and nonprofit users may distribute copies of SimpleScalar
# in compiled or executable form as set forth in Section 2, provided that
# either: (A) it is accompanied by the corresponding machine-readable source
# code, or (B) it is accompanied by a written offer, with no time limit, to
# give anyone a machine-readable copy of the corresponding source code in
# return for reimbursement of the cost of distribution. This written offer
# must permit verbatim duplication by anyone, or (C) it is distributed by
# someone who received only the executable form, and is accompanied by a
# copy of the written offer of source code.
# 
# 6. SimpleScalar was developed by Todd M. Austin, Ph.D. The tool suite is
# currently maintained by SimpleScalar LLC (info@simplescalar.com). US Mail:
# 2395 Timbercrest Court, Ann Arbor, MI 48105.
# 
# Copyright (C) 1994-2002 by Todd M. Austin, Ph.D. and SimpleScalar, LLC.

# These are defined in the Makefile above:
# CC, AR, AROPT, CFLAGS, RANLIB

#LEX	= flex

#
# all the sources
#
SRCS	= libexo.c #exolex.l
HDRS	= libexo.h

#
# common objects
#
OBJS	= libexo.$(OEXT) exolex.$(OEXT)

#
# external libraries required for build
#
LIBS	=

#
# all targets
#
all: libexo.$(LEXT)
	@echo "my work is done here..."

libexo.$(LEXT):	$(OBJS)
	$(RM) libexo.$(LEXT)
	$(AR) $(AROPT)libexo.$(LEXT) $(OBJS)
	$(RANLIB) libexo.$(LEXT)

.c.$(OEXT):
	g++ $(CFLAGS) -c $*.c

# TODO: move the code inserted in exolex.c back into exolex.l
# just use the permanent version of exolex.c
#exolex.c:	exolex.l
#	$(LEX) exolex.l
#	mv -f lex.yy.c exolex.c

clean:
	-$(RM) *.o *.obj core *~ Makefile.bak libexo.a libexo.lib

depend: mkdepend
	../makedepend/makedepend -n $(BINUTILS_INC) $(SRCS)

mkdepend:
	cd ../makedepend $(CS) $(MAKE) "RM=$(RM)" "CS=$(CS)" $(CS) cd ..


# DO NOT DELETE THIS LINE -- make depend depends on it.

libexo.o: ../host.h ../misc.h ../machine.h ../host.h ../misc.h
libexo.o: ../endian.h ../machine.def libexo.h
exolex.o: ../host.h ../misc.h libexo.h ../machine.h ../host.h ../misc.h
exolex.o: ../endian.h ../machine.def
